Efficient Stochastic Programming in Julia

نویسندگان

چکیده

We present StochasticPrograms.jl, a user-friendly and powerful open-source framework for stochastic programming written in the Julia language. The includes both modeling tools structure-exploiting optimization algorithms. Stochastic models can be efficiently formulated using an expressive syntax, instantiated, inspected, analyzed interactively. scales seamlessly to distributed environments. Small instances of model run locally ensure correctness, whereas larger are automatically memory-efficient way onto supercomputers or clouds solved parallel These solvers based on variations classical L-shaped, progressive-hedging, quasi-gradient provide concise mathematical background various constructs available along with code listings exemplifying their usage. Both software innovations related implementation algorithmic structured highlighted. conclude by demonstrating strong scaling properties algorithms numerical benchmarks multinode setup. Summary Contribution: This paper presents implemented syntax formulating as well versatile analysis will prove useful researchers, educators, industrial users alike. Researchers benefit from readily extensible framework, which they formulate complex quickly typeset test novel Educators clean syntax. Moreover, supports theory leading textbooks. strongly believe that StochasticPrograms.jl reduce barrier entry incoming practitioners programming. Industrial make use rapidly models, analyze small locally, then large-scale production. In doing so, get capabilities free without changing access well-tested state-of-the-art implementations solvers. As is open-source, anyone these target audiences contribute new functionality framework. conclusion, providing intuitive interface extensive development environment expert users, has potential further field

برای دانلود باید عضویت طلایی داشته باشید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Probabilistic Programming in Julia New Inference Algorithms

In this thesis we look at the design and development of a Probabilistic Programming Language (PPL) in Julia named Turing and the challenges of implementing the Hamiltonian Monte Carlo (HMC) sampler inside the Turing framework. This dissertation starts with a review of three important fields behind the project, which are Bayesian inference, general inference algorithms and probabilistic programm...

متن کامل

High-level GPU programming in Julia

GPUs are popular devices for accelerating scientific calculations. However, as GPU code is usually written in low-level languages, it breaks the abstractions of high-level languages popular with scientific programmers. To overcome this, we present a framework for CUDA GPU programming in the high-level Julia programming language. This framework compiles Julia source code for GPU execution, and t...

متن کامل

Efficient Monte Carlo simulations for stochastic programming

This paper is concerned with chance constrained programming to deal with nonlinear optimization problems with random parameters. Specific Monte Carlo methods to evaluate the gradient and Hessian of probabilistic constraints are proposed and discussed. These methods are implemented in penalization optimization routines adapted to stochastic optimization. They are shown to reduce the computationa...

متن کامل

Effective Extensible Programming: Unleashing Julia on GPUs

GPUs and other accelerators are popular devices for accelerating compute-intensive, parallelizable applications. However, programming these devices is a difficult task. Writing efficient device code is challenging, and is typically done in a low-level programming language. High-level languages are rarely supported, or do not integrate with the rest of the high-level language ecosystem. To overc...

متن کامل

Julia: A fresh approach to parallel programming

The Julia programming language is gaining enormous popularity. Julia was designed to be easy and fast. Most importantly, Julia shatters deeply established notions widely held in the applied community: 1) High-level, dynamic code has to be slow by some sort of law of nature; 2) It is sensible to prototype in one language and then recode in another language for speed or deployment; and 3) There a...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

ژورنال

عنوان ژورنال: Informs Journal on Computing

سال: 2022

ISSN: ['1091-9856', '1526-5528']

DOI: https://doi.org/10.1287/ijoc.2022.1158